package br.unipar.blog.web.controller.artigo;

import javax.faces.context.FacesContext;

import org.springframework.beans.factory.annotation.Autowired;

import br.unipar.blog.persistence.entity.Artigo;
import br.unipar.blog.persistence.entity.Usuario;
import br.unipar.blog.persistence.manager.artigo.ArtigoManager;
import br.unipar.blog.web.controller.usuario.LoginController;
import br.unipar.blog.web.jsf.Navigator;
import java.util.ArrayList;
import java.util.List;

public class ArtigoController {

    private Artigo artigo = createArtigo();

    private List<Artigo> artigoList = new ArrayList<Artigo>();//createArtigoList();

    public List<Artigo> getArtigoList() {
        return artigoList;
    }

    public Artigo getArtigo() {
        return artigo;
    }

    public void setArtigo(Artigo artigo) {
        this.artigo = artigo;
    }
    @Autowired
    private ArtigoManager artigoManager;

    public String salvar() {
        FacesContext facesContext = FacesContext.getCurrentInstance();
        Usuario usuario = (Usuario) facesContext.getExternalContext().getSessionMap().get(LoginController.USUARIO_SESSION);

        artigo.setUsuario(usuario);
        artigoManager.salvar(artigo);

        artigo = createArtigo();
        return Navigator.pages_cadastroArtigo.name();
    }

    private Artigo createArtigo() {
        return new Artigo();
    }

    private List<Artigo> createArtigoList() {
        List<Artigo> list = artigoManager.listar();
        return list;
    }

    public String atualizar() {
        artigoList = createArtigoList();
        return Navigator.index.name();
    }
}
